<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>DB callback functions, app_private field</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Upgrade Guide" />
    <link rel="up" href="upgrade_3_2_toc.html" title="Chapter 12. Upgrading Berkeley DB 3.1 applications to Berkeley DB 3.2" />
    <link rel="prev" href="upgrade_3_2_set_flags.html" title="DB_ENV-&gt;set_flags" />
    <link rel="next" href="upgrade_3_2_renumber.html" title="Logically renumbering records" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">DB callback functions, app_private field</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="upgrade_3_2_set_flags.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 12. Upgrading Berkeley DB 3.1 applications to Berkeley DB 3.2</th>
          <td width="20%" align="right"> <a accesskey="n" href="upgrade_3_2_renumber.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="upgrade_3_2_callback"></a>DB callback functions, app_private field</h2>
          </div>
        </div>
      </div>
      <p>In the Berkeley DB 3.2 release, four application callback functions (the
callback functions set by <a href="../api_reference/C/dbset_bt_compare.html" class="olink">DB-&gt;set_bt_compare()</a>,
<a href="../api_reference/C/dbset_bt_prefix.html" class="olink">DB-&gt;set_bt_prefix()</a>, <a href="../api_reference/C/dbset_dup_compare.html" class="olink">DB-&gt;set_dup_compare()</a> and
<a href="../api_reference/C/dbset_h_hash.html" class="olink">DB-&gt;set_h_hash()</a>) were modified to take a reference to a
<a href="../api_reference/C/db.html" class="olink">DB</a> object as their first argument.  This change allows the Berkeley DB
Java API to reasonably support these interfaces.  There is currently no
need for the callback functions to do anything with this additional
argument.</p>
      <p>C and C++ applications that specify their own Btree key comparison,
Btree prefix comparison, duplicate data item comparison or Hash
functions should modify these functions to take a reference to a
<a href="../api_reference/C/db.html" class="olink">DB</a> structure as their first argument.  No further change is
required.</p>
      <p>The app_private field of the <a href="../api_reference/C/dbt.html" class="olink">DBT</a> structure (accessible only from
the Berkeley DB C API) has been removed in the 3.2 release.  It was replaced
with app_private fields in the <a href="../api_reference/C/env.html" class="olink">DB_ENV</a> handles.
Applications using this field will have to convert to using one of the
replacement fields.</p>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="upgrade_3_2_set_flags.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="upgrade_3_2_toc.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="upgrade_3_2_renumber.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">DB_ENV-&gt;set_flags </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Logically renumbering records</td>
        </tr>
      </table>
    </div>
  </body>
</html>
